﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.ConstrainedExecution;
using System.Runtime.Serialization;
using System.Text;

namespace Ocean.His.MedicalInsurance
{
    [DataContract]
    public class SI1312Data
    {

        /// <summary>
        /// 查询时间点
        /// 
        /// </summary>
        [DataMember(Name = "query_date")]
        public string QueryDate { get; set; }

        /// <summary>
        /// 医保目录编码
        /// 
        /// </summary>
        [DataMember(Name = "hilist_code")]
        public string HilistCode { get; set; }

        /// <summary>
        /// 参保机构医保区划
        /// 
        /// </summary>
        [DataMember(Name = "insu_admdvs")]
        public string InsuAdmdvs { get; set; }

        /// <summary>
        /// 开始日期
        /// 
        /// </summary>
        [DataMember(Name = "begndate")]
        public string Begndate { get; set; }

        /// <summary>
        /// 医保目录名称
        /// 
        /// </summary>
        [DataMember(Name = "hilist_name")]
        public string HilistName { get; set; }

        /// <summary>
        /// 五笔助记码
        /// 
        /// </summary>
        [DataMember(Name = "wubi")]
        public string Wubi { get; set; }

        /// <summary>
        /// 拼音助记码
        /// 
        /// </summary>
        [DataMember(Name = "pinyin")]
        public string Pinyin { get; set; }

        /// <summary>
        /// 医疗收费项目类别
        /// 
        /// </summary>
        [DataMember(Name = "med_chrgitm_type")]
        public string MedChrgitmType { get; set; }

        /// <summary>
        /// 收费项目等级
        /// 
        /// </summary>
        [DataMember(Name = "chrgitm_lv")]
        public string ChrgitmLv { get; set; }

        /// <summary>
        /// 限制使用标志
        /// 
        /// </summary>
        [DataMember(Name = "lmt_used_flag")]
        public string LmtUsedFlag { get; set; }

        /// <summary>
        /// 目录类别
        /// 
        /// </summary>
        [DataMember(Name = "list_type")]
        public string ListType { get; set; }

        /// <summary>
        /// 医疗使用标志
        /// 
        /// </summary>
        [DataMember(Name = "med_use_flag")]
        public string MedUseFlag { get; set; }

        /// <summary>
        /// 生育使用标志
        /// 
        /// </summary>
        [DataMember(Name = "matn_used_flag")]
        public string MatnUsedFlag { get; set; }

        /// <summary>
        /// 医保目录使用类别
        /// 
        /// </summary>
        [DataMember(Name = "hilist_use_type")]
        public string HilistUseType { get; set; }

        /// <summary>
        /// 限复方使用类型
        /// 
        /// </summary>
        [DataMember(Name = "lmt_cpnd_type")]
        public string LmtCpndType { get; set; }

        /// <summary>
        /// 有效标志
        /// 
        /// </summary>
        [DataMember(Name = "vali_flag")]
        public string ValiFlag { get; set; }

        /// <summary>
        /// 更新时间
        /// 
        /// </summary>
        [DataMember(Name = "updt_time")]
        public string UpdtTime { get; set; }

        /// <summary>
        /// 当前页数
        /// 
        /// </summary>
        [DataMember(Name = "page_num")]
        public decimal PageNum { get; set; }

        /// <summary>
        /// 本页数据量
        /// 
        /// </summary>
        [DataMember(Name = "page_size")]
        public decimal PageSize { get; set; }

    }

    [DataContract]
    public class SI1312InputModel
    {
        [DataMember(Name = "data")]
        public SI1312Data SI1312Data { get; set; }

        public SI1312InputModel(SI1312Data si1312Data)
        {
            SI1312Data = si1312Data;
        }
    }

    /// <summary>
    /// 1312
    /// 医保目录信息查询
    /// </summary>
    [DataContract]
    public class SI1312RequestModel : SIBaseRequestModel
    {
        public SI1312RequestModel(MedicalInsuranceOption medicalInsuranceOption, SI1312Data si1312Data) : base(medicalInsuranceOption)
        {
            Infno = "1312";
            Input = new SI1312InputModel(si1312Data);
        }

        /// <summary>
        /// 交易输入
        /// </summary>
        [DataMember(Name = "input")]
        public SI1312InputModel Input { get; set; }
    }
}
